package com.gaohe.scp.service.impl;

import java.util.List;
import com.gaohe.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gaohe.scp.mapper.CsMoneyMapper;
import com.gaohe.scp.domain.CsMoney;
import com.gaohe.scp.service.ICsMoneyService;

/**
 * 用户流水Service业务层处理
 *
 * @author liuxiangyu
 * @date 2025-03-16
 */
@Service
public class CsMoneyServiceImpl implements ICsMoneyService
{
    @Autowired
    private CsMoneyMapper csMoneyMapper;

    /**
     * 查询用户流水
     *
     * @param moneyId 用户流水主键
     * @return 用户流水
     */
    @Override
    public CsMoney selectCsMoneyByMoneyId(Long moneyId)
    {
        return csMoneyMapper.selectCsMoneyByMoneyId(moneyId);
    }

    /**
     * 查询用户流水列表
     *
     * @param csMoney 用户流水
     * @return 用户流水
     */
    @Override
    public List<CsMoney> selectCsMoneyList(CsMoney csMoney)
    {
        return csMoneyMapper.selectCsMoneyList(csMoney);
    }

    /**
     * 新增用户流水
     *
     * @param csMoney 用户流水
     * @return 结果
     */
    @Override
    public int insertCsMoney(CsMoney csMoney)
    {
        csMoney.setCreateTime(DateUtils.getNowDate());
        csMoneyMapper.insertCsMoney(csMoney);
        return 1;
    }

    /**
     * 修改用户流水
     *
     * @param csMoney 用户流水
     * @return 结果
     */
    @Override
    public int updateCsMoney(CsMoney csMoney)
    {
        csMoney.setUpdateTime(DateUtils.getNowDate());
        csMoneyMapper.updateCsMoney(csMoney);
        return 1;
    }

    /**
     * 批量删除用户流水
     *
     * @param moneyIds 需要删除的用户流水主键
     * @return 结果
     */
    @Override
    public int deleteCsMoneyByMoneyIds(Long[] moneyIds)
    {
        csMoneyMapper.deleteCsMoneyByMoneyIds(moneyIds);
        return 1;
    }

    /**
     * 删除用户流水信息
     *
     * @param moneyId 用户流水主键
     * @return 结果
     */
    @Override
    public int deleteCsMoneyByMoneyId(Long moneyId)
    {
        csMoneyMapper.deleteCsMoneyByMoneyId(moneyId);
        return 1;
    }

    @Override
    public List<CsMoney> getMoneyByUserId(Long userId) {
        return csMoneyMapper.getMoneyByUserId(userId);
    }

}
